/**
 * 
 */
package com.myBase.core.entity;

import java.util.Date;

import org.hibernate.validator.constraints.Length;

import com.myBase.common.persistence.BaseEntity;

/**
 * 用户金币获取、消费、过期相关流水Entity
 * @author WuJie
 * @version 2017-05-04
 */
public class GoldcoinTradeRecord extends BaseEntity<GoldcoinTradeRecord> {

    private static final long serialVersionUID = 1L;

    private String recordid; // 主键

    private String branchid; // 多系统支持（易贷msyidai）

    private String accountid; // 关联 goldcoin_account

    private String detailid; // 关联 goldcoin_account_detail

    private String goldcoinpoolid; // 关联 金币表 goldCoin

    private String recordType; // 记录状态,00-获取，01-使用，02-过期，03冲正，04-作废

    private String goldnumber; // recordType =00领取金币数量，recordType=01使用金币数量

    private String nodetype; // 节点类型，00-支付，01-兑换为券，02-赠送他人，03-系统作废，04-过期,10-登录,11-注册,12-绑卡,13-投资,14-充值,15-微信绑定,16-投资分享,17-主动发放,18-钱袋,19-出国金融

    private String beforeuse; // 变更前本批次可用金币数-作为用户获取某批次金币使用流水来理解

    private String afteruse; // 变更后可用金币数-作为用户获取某批次金币使用流水来理解

    private String userid; // 易贷/转赚中用户id

    private String businessId; // 业务号

    private Integer goldCoinActivity;//金币活动id

    private String userName; //用户名称

    private String mobile; //用户手机号

    private String equipment;//设备:如 安卓、IOS

    private String activityId;//活动id

    private String subChannel;//渠道

    private String activityName;//活动名称

    private int goldValidityDay;//金币有效天数

    private String goldValidityStyle;//金币有效期类型

    private Date goldCollectionStart;//金币领取开始时间

    private Date goldCollectionEnd;//金币领取结束时间

    private Date goldValidityStart;//金币有效开始时间

    private Date goldValidityEnd;//金币有效结束时间

    private Date beginCreateDate;//查询开始时间

    private Date endCreateDate;//查询结束时间

    private Date endtime; //金币过期时间

    private int offset;//起始页

    private int pageSize;//每页显示条数
    
    private String remarks;
    
    private Date createDate;
    
    public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public GoldcoinTradeRecord() {
        super();
    }

    @Length(min = 1, max = 8, message = "主键长度必须介于 1 和 8 之间")
    public String getRecordid() {
        return recordid;
    }

    public void setRecordid(String recordid) {
        this.recordid = recordid;
    }

    @Length(min = 1, max = 8, message = "关联 goldcoin_account长度必须介于 1 和 8 之间")
    public String getAccountid() {
        return accountid;
    }

    public void setAccountid(String accountid) {
        this.accountid = accountid;
    }

    @Length(min = 1, max = 8, message = "关联 goldcoin_account_detail长度必须介于 1 和 8 之间")
    public String getDetailid() {
        return detailid;
    }

    public void setDetailid(String detailid) {
        this.detailid = detailid;
    }

    @Length(min = 1, max = 8, message = "关联 金币表 goldCoin长度必须介于 1 和 8 之间")
    public String getGoldcoinpoolid() {
        return goldcoinpoolid;
    }

    public void setGoldcoinpoolid(String goldcoinpoolid) {
        this.goldcoinpoolid = goldcoinpoolid;
    }

    @Length(min = 1, max = 2, message = "记录状态,00-获取，01-使用，02-过期，03冲正，04-作废长度必须介于 1 和 2 之间")
    public String getRecordType() {
        return recordType;
    }

    public void setRecordType(String recordType) {
        this.recordType = recordType;
    }

    @Length(min = 1, max = 8, message = "status =00领取金币数量，status=01使用金币数量长度必须介于 1 和 8 之间")
    public String getGoldnumber() {
        return goldnumber;
    }

    public void setGoldnumber(String goldnumber) {
        this.goldnumber = goldnumber;
    }

    public String getNodetype() {
        return nodetype;
    }

    public void setNodetype(String nodetype) {
        this.nodetype = nodetype;
    }

    @Length(min = 1, max = 8, message = "变更前本批次可用金币数-作为用户获取某批次金币使用流水来理解长度必须介于 1 和 8 之间")
    public String getBeforeuse() {
        return beforeuse;
    }

    public void setBeforeuse(String beforeuse) {
        this.beforeuse = beforeuse;
    }

    @Length(min = 1, max = 8, message = "变更后可用金币数-作为用户获取某批次金币使用流水来理解长度必须介于 1 和 8 之间")
    public String getAfteruse() {
        return afteruse;
    }

    public void setAfteruse(String afteruse) {
        this.afteruse = afteruse;
    }

    @Length(min = 1, max = 8, message = "易贷/转赚中用户id长度必须介于 1 和 8 之间")
    public String getUserid() {
        return userid;
    }

    public void setUserid(String userid) {
        this.userid = userid;
    }

    public String getBusinessId() {
        return businessId;
    }

    public void setBusinessId(String businessId) {
        this.businessId = businessId;
    }

    public int getOffset() {
        return offset;
    }

    public void setOffset(int offset) {
        this.offset = offset;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public String getBranchid() {
        return branchid;
    }

    public void setBranchid(String branchid) {
        this.branchid = branchid;
    }

    public Integer getGoldCoinActivity() {
        return goldCoinActivity;
    }

    public void setGoldCoinActivity(Integer goldCoinActivity) {
        this.goldCoinActivity = goldCoinActivity;
    }

    public String getEquipment() {
        return equipment;
    }

    public void setEquipment(String equipment) {
        this.equipment = equipment;
    }

    public String getActivityId() {
        return activityId;
    }

    public void setActivityId(String activityId) {
        this.activityId = activityId;
    }

    public String getSubChannel() {
        return subChannel;
    }

    public void setSubChannel(String subChannel) {
        this.subChannel = subChannel;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public int getGoldValidityDay() {
        return goldValidityDay;
    }

    public void setGoldValidityDay(int goldValidityDay) {
        this.goldValidityDay = goldValidityDay;
    }

    public Date getGoldCollectionStart() {
        return goldCollectionStart;
    }

    public void setGoldCollectionStart(Date goldCollectionStart) {
        this.goldCollectionStart = goldCollectionStart;
    }

    public Date getGoldCollectionEnd() {
        return goldCollectionEnd;
    }

    public void setGoldCollectionEnd(Date goldCollectionEnd) {
        this.goldCollectionEnd = goldCollectionEnd;
    }

    public Date getGoldValidityStart() {
        return goldValidityStart;
    }

    public void setGoldValidityStart(Date goldValidityStart) {
        this.goldValidityStart = goldValidityStart;
    }

    public Date getGoldValidityEnd() {
        return goldValidityEnd;
    }

    public void setGoldValidityEnd(Date goldValidityEnd) {
        this.goldValidityEnd = goldValidityEnd;
    }

    public Date getBeginCreateDate() {
        return beginCreateDate;
    }

    public void setBeginCreateDate(Date beginCreateDate) {
        this.beginCreateDate = beginCreateDate;
    }

    public Date getEndCreateDate() {
        return endCreateDate;
    }

    public void setEndCreateDate(Date endCreateDate) {
        this.endCreateDate = endCreateDate;
    }

    public Date getEndtime() {
        return endtime;
    }

    public void setEndtime(Date endtime) {
        this.endtime = endtime;
    }

    public String getGoldValidityStyle() {
        return goldValidityStyle;
    }

    public void setGoldValidityStyle(String goldValidityStyle) {
        this.goldValidityStyle = goldValidityStyle;
    }

}